﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using HomeCare.Model;
using System.Data;


namespace HomeCare.Control
{
    public class PessoaControl
    {
        PessoaDados pessoaDados = new PessoaDados();

        public int PesquisaPessoaPorLogin(String login, String senha)
        {
            
            Pessoa pessoa = new Pessoa();

            DataSet pessoaDataSet = pessoaDados.PesquisaPessoaPorLogin(login, senha);
            if (pessoaDataSet != null && pessoaDataSet.Tables[0].Rows.Count > 0)
            {
                pessoa.id = Int32.Parse(pessoaDataSet.Tables[0].Rows[0]["ID"].ToString());
                return pessoa.id;
            }
            else return 0;
        }

        public static List<Pessoa> GetPacientes()
        {
            List<Pessoa> pacientes = new List<Pessoa>();
            PessoaDados pessoaDados = new PessoaDados();
            Pessoa pessoaVazia = new Pessoa();
            pessoaVazia.id = 0;
            pessoaVazia.nome = "Selecione o Paciente";
            pacientes.Add(pessoaVazia);

            DataSet ds = pessoaDados.GetPacientes();

            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                DataRow row = ds.Tables[0].Rows[i];
                Pessoa pessoa = new Pessoa();
                pessoa.id = (int)row.ItemArray.GetValue(0);
                pessoa.nome = (String)row.ItemArray.GetValue(1);
                pacientes.Add(pessoa);
            }
            return pacientes;
        }

        public static List<Pessoa> GetFuncionarios()
        {
            List<Pessoa> pacientes = new List<Pessoa>();

            Pessoa pessoaVazia = new Pessoa();
            pessoaVazia.id = 0;
            pessoaVazia.nome = "Selecione o Funcionário";
            pacientes.Add(pessoaVazia);

            PessoaDados pessoaDados = new PessoaDados();

            DataSet ds = pessoaDados.GetFuncionarios();

            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                DataRow row = ds.Tables[0].Rows[i];
                Pessoa pessoa = new Pessoa();
                pessoa.id = (int)row.ItemArray.GetValue(0);
                pessoa.nome = (String)row.ItemArray.GetValue(1);
                pacientes.Add(pessoa);
            }
            return pacientes;
        }

        public String ValidaPessoa (Pessoa pessoa){ 
        return String.Empty;
        }

        public DataSet ConsultaPessoa(Pessoa pessoa)
        {
            DataSet dataSet = pessoaDados.ConsultaPessoa(pessoa);
            return dataSet;
        }

        public bool InserePessoa(Pessoa pessoa)
        {
            bool retorno = pessoaDados.InserePessoa(pessoa);
            return retorno;
        }

        public bool AlteraPessoa(Pessoa pessoa)
        {
            bool retorno = pessoaDados.AlteraPessoa(pessoa);
            return retorno;
        }
        public bool ExcluiPessoa(Pessoa pessoa)
        {
            bool retorno = pessoaDados.ExcluiPessoa(pessoa);
            return retorno;
        }

    }
}
